﻿using System.Diagnostics.Contracts;
using System.Reflection.Emit;

namespace YaAppoint
{
    /// <summary>
    /// 自定义异常代码类
    /// </summary>
    public static class CustomErrorCodes
    {
        // 科室编码已存在
        public const string CodeAlreadyExist = "Ya.Error:000101";

        // 外码已存在
        public const string OuterCodeAlreadyExist = "Ya.Error:000102";

        // 科室不存在
        public const string DepartmentNotExist = "Ya.Error:000103";

        // 不能为申请端用户设置以及科室
        public const string CanNotSettDepartmentForApplyUser = "YaAppoint.Identity:010001";

        // 选中用户列表为空
        public const string UserListIsEmpty = "Ya.Error:000104";

        // 用户不存在
        public const string UserNotExist = "Ya.Error:000105";

        // 请选中要移除的用户
        public const string RemoveUserListIsEmpty = "Ya.Error:000106";
        
        // 检查项目不存在
        public const string ExamItemNotExist = "Ya.Error:000107";

        // 设备类型不存在
        public const string DeviceTypeNotExist = "Ya.Error:000108";

        // 诊室不存在
        public const string RoomNotExist = "Ya.Error:000109";

        // 检查设备不存在
        public const string DeviceNotExist = "Ya.Error:000110";

        // 父级目录不存在
        public const string ParentDirNotExist = "Ya.Error:000111";

        // 指定的父级不是目录
        public const string ParentIsNotDir = "Ya.Error:000112";

        // 排班计划不存在
        public const string ScheduleNotExist = "Ya.Error:000113";

        // 预约时段不存在
        public const string TimeIntervalNotExist = "Ya.Error:000114";

        // 批量时间范围内无预约时间段
        public const string NotTimeIntervalInRange = "Ya.Error:000115";

        // 号池计划不存在
        public const string PlanPoolNotExist = "Ya.Error:000116";

        // 特殊排班不存在
        public const string ScheduleOverrideNotExist = "Ya.Error:000117";

        // 特殊排班中已存在预约
        public const string AppointmentExistInSchduleOverride = "Ya.Error:000118";

        // 最大数量不得小于当前已预约数量
        public const string CurrentCountBiggerThanMaxCount = "Ya.Error:000119";

        // 号池过期
        public const string PoolExpired = "Ya.Error:000120";

        // 号池不存在
        public const string PoolNotExist = "Ya.Error:000121";

        // 号池中已有预约，无法删除
        public const string AppointmentAlreadyInPool = "Ya.Error:000122";

        // Dapper不支持DB2数据库
        public const string DB2NotSupported = "Ya.Error:000123";

        // 请配置His连接字符串
        public const string NoHisConnectionNotFund = "Ya.Error:000124";

        // 申请科室不存在
        public const string ApplyDepartmentNotExist = "Ya.Error:000125";

        // 需要设置医疗机构编码
        public const string NoInstitutionIsSetted = "Ya.Error:000126";

        // 动态编译没发现类型
        public const string DynamicCompileEntryTypeNotFound = "Ya.Error:000127";

        // 创建冬天类型实例失败
        public const string CreateDynamicTypeInstanceFailed = "Ya.Error:000129";

        // 当前用户不是科室用户，不能预约
        public const string NotDepartmentUser = "Ya.Error:000130";

        // 线上服务接口未实现
        public const string TemplateInterfaceUnimplemented = "Ya.Error:000131";

        // his检查项目在预约平台中不存在
        public const string HisExamItemNotExist = "Ya.Error:000132";

        // his申请科室在预约平台中不存在
        public const string HisApplyDepartmentNotExist = "Ya.Error:000133";

        // 当前科室没有可用设备类型
        public const string NoAnyDeviceTypeInCurrentDepartment = "Ya.Error:000134";

        // 设备无排班
        public const string DeviceHasNoScheduleOrSO = "Ya.Error:000135";

        // 检查项目的之前的
        public const string OldAppointmentNotExist = "Ya.Error:000136";

        // 文本模板不存在
        public const string TextTemplateNotExist = "Ya.Error:000137";

        // 预约不存在，或已被取消
        public const string AppointmentNotExist = "Ya.Error:000138";

        // 线上服务不存在
        public const string OnLineServiceNotExist = "Ya.Error:000139";

        public const string NoSuitableConstructFound = "Ya.Error:000140";

        // 打印模板不存在
        public const string PrintTemplateNotExist = "Ya.Error:000141";

        // 查询自定义设置参数错误
        public const string GetCustomSettingParamError = "Ya.Error:000142";

        // 未找到对应自定义设置
        public const string NoCustomSettingFound = "Ya.Error:000143";

        // 发现多个自定义配置
        public const string FoundMoreThanOneSettings = "Ya.Error:000144";

        // 未发现特定设备自定义设置实体
        public const string NoSettingFoundForDevice = "Ya.Error:000145";

        // 未发现设备对应科室设备类型的自定义设置
        public const string NoSettingFoundForDeviceType = "Ya.Error:000146";

        // 未发现设备所在科室的自定义设置
        public const string NoSettingfoundForDepartment = "Ya.Error:000147";

        // 全局设置中某个数据值为空
        public const string GlobalSettingAttributeIsNull = "Ya.Error:000148";

        // 未找到全局设置
        public const string GlobalSettingNotFound = "Ya.Error:000149";

        // 预约的时间太晚，还不能签到
        public const string TooEarlyToCheckIn = "Ya.Error:000150";

        // 规则不存在
        public const string RuleNotExist = "Ya.Error:000151";

        // 规则组不存在
        public const string RuleGroupNotExist = "Ya.Error:000152";

        // 当前科室下存在设备类型
        public const string NoDeviceTypeExistInCurrentDep = "Ya.Error:000153";

        // 规则代码为空
        public const string RuleCodeIsNullOrEmpty = "Ya.Error:000154";

        // 申请项目中发现多个设备类型 (修改自动预约)
        public const string MoreThanOneDeviceTypeFoundInApplyItems = "Ya.Error:000155";

        // 存在无设备支持的申请项目
        public const string NoDeviceSupportApplyItem = "Ya.Error:000156";

        // 文本模板不是在线服务
        public const string TemplateIsNotOnlineService = "Ya.Error:000157";

        public const string ApplyNumbersForDifferentPatients = "Ya.Error:000158";

        // 推荐已超时或不存在
        public const string SuggestionNotExistOrTimeOut = "Ya.Error:000159";

        // 号段不存在
        public const string IntervalNotExist = "Ya.Error:000160";

        // 号段中无有效号池
        public const string NoPoolsExistInInterval = "Ya.Error:000161";

        // 指定的规则模板目录不存在
        public const string TemplateDirectoryNotExist = "Ya.Error:000162";

        // 规则模板不存在
        public const string RuleTemplateNotExist = "Ya.Error:000163";

        // 节点不存在或已被删除
        public const string NodeNotExist = "Ya.Error:000164";

        // (his预约页面)选中的检查项目之间有时间要求冲突
        public const string ExamItemConflictExist = "Ya.Error:000165";

    }
}
